﻿using System;
using SharpSqlAnalyzer.nodes;

namespace SharpSqlAnalyzer.stmt
{
	// Token: 0x02000087 RID: 135
	public class TAssignStmt : TCustomSqlStatement
	{
		// Token: 0x06000362 RID: 866 RVA: 0x002F9D5F File Offset: 0x002F7F5F
		public TAssignStmt() : this(EDbVendor.dbvoracle)
		{
		}

		// Token: 0x06000363 RID: 867 RVA: 0x002F9D69 File Offset: 0x002F7F69
		public TAssignStmt(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sst_assignstmt;
		}

		// Token: 0x06000364 RID: 868 RVA: 0x002F9D7A File Offset: 0x002F7F7A
		public TAssignStmt(TExpression left, TExpression expr) : this(EDbVendor.dbvoracle)
		{
			this._left = left;
			this._expression = expr;
		}

		// Token: 0x06000365 RID: 869 RVA: 0x002F9D92 File Offset: 0x002F7F92
		internal override void buildsql()
		{
		}

		// Token: 0x06000366 RID: 870 RVA: 0x002F9D94 File Offset: 0x002F7F94
		internal override void clear()
		{
		}

		// Token: 0x06000367 RID: 871 RVA: 0x002F9D96 File Offset: 0x002F7F96
		internal override string getasprettytext()
		{
			return "";
		}

		// Token: 0x06000368 RID: 872 RVA: 0x002F9D9D File Offset: 0x002F7F9D
		internal virtual void iterate(TVisitorAbs pvisitor)
		{
		}

		// Token: 0x1700005A RID: 90
		// (get) Token: 0x06000369 RID: 873 RVA: 0x002F9D9F File Offset: 0x002F7F9F
		// (set) Token: 0x0600036A RID: 874 RVA: 0x002F9DA7 File Offset: 0x002F7FA7
		public virtual TExpression Expression
		{
			get
			{
				return this._expression;
			}
			set
			{
				this._expression = value;
			}
		}

		// Token: 0x1700005B RID: 91
		// (get) Token: 0x0600036B RID: 875 RVA: 0x002F9DB0 File Offset: 0x002F7FB0
		// (set) Token: 0x0600036C RID: 876 RVA: 0x002F9DB8 File Offset: 0x002F7FB8
		public virtual TExpression Left
		{
			get
			{
				return this._left;
			}
			set
			{
				this._left = value;
			}
		}

		// Token: 0x0600036D RID: 877 RVA: 0x002F9DC1 File Offset: 0x002F7FC1
		public override void init(object arg1, object arg2)
		{
			this._left = (TExpression)arg1;
			this._expression = (TExpression)arg2;
		}

		// Token: 0x0600036E RID: 878 RVA: 0x002F9DDB File Offset: 0x002F7FDB
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			base.doParseStatement(psql);
			this._left.doParse(this, ESqlClause.unknown);
			this._expression.doParse(this, ESqlClause.unknown);
			return 0;
		}

		// Token: 0x0600036F RID: 879 RVA: 0x002F9E00 File Offset: 0x002F8000
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000370 RID: 880 RVA: 0x002F9E10 File Offset: 0x002F8010
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			this._left.acceptChildren(v);
			this._expression.acceptChildren(v);
			v.postVisit(this);
		}

		// Token: 0x040010AB RID: 4267
		private TExpression _left;

		// Token: 0x040010AC RID: 4268
		private TExpression _expression;
	}
}
